package 轮转数组;

//给定一个整数数组 nums，将数组中的元素向右轮转 k 个位置，其中 k 是非负数。

//输入: nums = [1,2,3,4,5,6,7], k = 3
//输出: [5,6,7,1,2,3,4]
//解释:
//向右轮转 1 步: [7,1,2,3,4,5,6]
//向右轮转 2 步: [6,7,1,2,3,4,5]
//向右轮转 3 步: [5,6,7,1,2,3,4]

import java.util.Arrays;

public class Solution
{
    public static void rotate(int[] nums, int k)
    {
        int k0 = k % nums.length;
        if (k0!=0){
            int[] res = new int[nums.length];
            for (int i = 0; i < k0; i++)
            {
                res[i]=nums[nums.length-k0+i];
            }
            for (int i = 0; i < nums.length-k0; i++)
            {
                res[k0+i]=nums[i];
            }
            for (int i = 0; i < nums.length; i++)
            {
                nums[i]=res[i];
            }
        }
    }

    public static void main(String[] args)
    {
        int[] nums={-1,-100,3,99};
        rotate(nums,2);
        System.out.println(Arrays.toString(nums));
    }
}
